10th international ABINIT developer workshop
May 31 - June 4, 2021 - Smart Working, Lockdown@BE

Use the Space key to navigate through all slides.

NB: AbiPy can be interfaced with other packages (e.g ASE, phonopy) via converters.
Using conda and the conda forge channel (recommended):
conda install abipy --channel conda-forge
Since conda is not limited to python packages, one can install ABINIT in the same env with:
conda install abinit -c conda-forge
NB: conda packages for AbiPy and ABINIT are now provided by conda-forge therefore:
Using pip and python wheels:
pip install abipy --user
In addition to workflows/tools for GS, DFPT, $GW$, IPA optics, BSE, we now have:
Python converters: DDB $\;\rightleftarrows \;$ phonopy / tdep
New Flows and improved post-processing tools for:
(contributed by G. Petretto)
Can be used to:
Algorithm:
output_dir_path.In python, everything boils down to:
ddb = abilab.abiopen("mp-149_DDB")
phonopy_obj = ddb.anaget_phonopy_ifc(output_dir_path="output_dir")

NB: There's an ongoing effort to reimplement AbiFlows in terms of the atomate framework. In this talk, we will mainly discuss the new features available in abipy.flowtk.
For the formalism, see J. Laflamme Janssen, et. al. Phys. Rev. B 93, 205147
# Build input for GS SCF calculation.
scf_input = make_scf_input() #
from abipy.flowtk.effmass_works import EffMassAutoDFPTWork
flow = flowtk.Flow("effmass_flow")
work = EffMassAutoDFPTWork.from_scf_input(scf_input)
flow.register_work(work)

from abipy.abio.factories import gs_input
gs_input(structure="si.cif", pseudos="14si.pspnc", ecut=8)
other_inp = abilab.AbinitInput(structure="si.cif", pseudos="14si.pspnc")
other_inp.set_vars(ecut=8, nsppol=2)
other_inp.set_autokmesh(8)
other_inp


gsr = abiopen("si_nscf_GSR.nc")
gsr.ebands.plot(with_gaps=True);
(contributed by Y. He)
gsr.ebands.plotly(with_gaps=True); # obj.plot becomes obj.plotly
gsr.ebands.plotly(with_gaps=True, chart_studio=True);

gsr.ebands.kpoints.plotly(title="k-path in 3d with plotly");
# Open the PHBST file produced by anaddb and get the phonon bands.
with abiopen(abidata.ref_file("trf2_5.out_PHBST.nc")) as ncfile:
phbands = ncfile.phbands
# Read the Phonon DOS from the netcd file produced by anaddb (prtdos 2)
with abiopen(abidata.ref_file("trf2_5.out_PHDOS.nc")) as ncfile:
phdos = ncfile.phdos
phbands.plotly_with_phdos(phdos, units="cm-1", title="AlAs Phonon bands + DOS in cm-1");
Warning: file /Users/gmatteo/git_repos/abipy/abipy/data/refs/alas_phonons/trf2_5.out_PHBST.nc does not contain atomic_numbers.
Particular methods need them!

ddb = abilab.abiopen("ZnSe_hex_qpt_DDB")
abilab.abipanel(); # Important
ddb.get_panel()
%embed https://abinit.github.io/abipy/graphical_interface.html


scheduler.yml providing:
manager.yml providing:
See this page for examples or use the abidoc.py script and the syntax:
run_elastic.py --scheduler # -s for the short option
nohup
so that we can disconnect from the shell session without killing the scheduler.nohup run_elastic.py --s > log 2> err &